home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / bbsutils / pcbgrab4.arj / DNL.PPE (.txt) next >
PCBoard Programming Language Executable  |  1994-01-30  |  4KB  |  172 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  TINTEGER001(40)
  20.     Integer  TINTEGER002(40)
  21.     String   STRING001
  22.     String   STRING002
  23.     String   STRING003
  24.     String   STRING004
  25.     String   STRING005
  26.     String   STRING006
  27.     String   STRING007
  28.     String   STRING008
  29.     String   STRING009
  30.     String   STRING010
  31.     String   STRING011
  32.     String   TSTRING012(40)
  33.     String   TSTRING013(40)
  34.     String   STRING014
  35.  
  36. ;------------------------------------------------------------------------------
  37.  
  38.     STRING001 = ""
  39.     STRING014 = TokenStr()
  40.     If (PcbNode() > 0) Then
  41.         STRING008 = "." + String(PcbNode())
  42.     Else
  43.         STRING008 = "."
  44.     Endif
  45.     STRING001 = "Y"
  46.     InputStr "Do you want to download File Descriptions", STRING001, 15, 1, "YyNn", 64 + 2 + 4
  47.     If (Upper(STRING001) == "Y") Then
  48.         PrintLn "Gathering file descriptions, please wait..."
  49.         STRING002 = "/NODE=" + String(PcbNode()) + " /PPE=" + PPEPath()
  50.         Shell 0, STRING003, PPEPath() + "FLIST.EXE", STRING002
  51.         STRING004 = Chr(83) + Chr(89) + Chr(83) + Chr(79) + Chr(80) + Chr(46) + Chr(84) + Chr(88) + Chr(84)
  52.         STRING005 = Chr(83) + Chr(89) + Chr(83) + Chr(79) + Chr(80)
  53.         STRING006 = Chr(80) + Chr(67) + Chr(66) + Chr(32) + Chr(68) + Chr(101) + Chr(115) + Chr(99) + Chr(114) + Chr(105) + Chr(112) + Chr(116) + Chr(105) + Chr(111) + Chr(110) + Chr(32)
  54.         STRING006 = STRING006 + Chr(71) + Chr(114) + Chr(97) + Chr(98) + Chr(98) + Chr(101) + Chr(114)
  55.         STRING007 = Chr(80) + Chr(108) + Chr(101) + Chr(97) + Chr(115) + Chr(101) + Chr(32) + Chr(82) + Chr(101) + Chr(103) + Chr(105) + Chr(115) + Chr(116) + Chr(101) + Chr(114) + "!"
  56.         If (Exist(PPEPath() + STRING004)) Then
  57.             Message 0, STRING005, STRING006, STRING007, "N", 0, 0, 0, PPEPath() + STRING004
  58.             Delete PPEPath() + STRING004
  59.         Endif
  60.         Flag PPEPath() + "NODE-" + String(PcbNode()) + ".DNL"
  61.         FOpen 1, "FLIST" + STRING008, 2, 0
  62.         For STRING010 = 1 To 30
  63.             FSeek 1, (STRING010 - 1) * 129, 0
  64.             FRead 1, TSTRING012(STRING010), 66
  65.             FSeek 1, (STRING010 - 1) * 129 + 66, 0
  66.             FRead 1, TSTRING013(STRING010), 12
  67.             FSeek 1, (STRING010 - 1) * 129 + 79, 0
  68.             FRead 1, TINTEGER001(STRING010), 4
  69.             FSeek 1, (STRING010 - 1) * 129 + 83, 0
  70.             FRead 1, TINTEGER002(STRING010), 2
  71.             STRING009 = InStr(TSTRING012(STRING010), "NODE-")
  72.             If (STRING009 > 0) Then
  73.                 FSeek 1, 0, 0
  74.                 FWrite 1, TSTRING012(STRING010), 66
  75.                 FSeek 1, 66, 0
  76.                 FWrite 1, TSTRING013(STRING010), 12
  77.                 FSeek 1, 79, 0
  78.                 FWrite 1, TINTEGER001(STRING010), 4
  79.                 FSeek 1, 83, 0
  80.                 FWrite 1, TINTEGER002(STRING010), 2
  81.                 For STRING011 = 1 To STRING010 - 1
  82.                     FSeek 1, STRING011 * 129, 0
  83.                     FWrite 1, TSTRING012(STRING011), 66
  84.                     FSeek 1, STRING011 * 129 + 66, 0
  85.                     FWrite 1, TSTRING013(STRING011), 12
  86.                     FSeek 1, STRING011 * 129 + 79, 0
  87.                     FWrite 1, TINTEGER001(STRING011), 4
  88.                     FSeek 1, STRING011 * 129 + 83, 0
  89.                     FWrite 1, TINTEGER002(STRING011), 2
  90.                 Next
  91.                 Break
  92.             Endif
  93.         Next
  94.         FClose 1
  95.         PrintLn "@X0ESending File(s) - Start your download ..."
  96.     Else
  97.         PrintLn "@X0ESending File(s) - Start your download ..."
  98.     Endif
  99.  
  100. ;------------------------------------------------------------------------------
  101. ;
  102. ; Usage report (before postprocessing)
  103. ;
  104. ; ■ Statements used :
  105. ;
  106. ;    11      Goto 
  107. ;    16      Let 
  108. ;    3       PrintLn 
  109. ;    6       If 
  110. ;    1       FOpen 
  111. ;    1       FClose 
  112. ;    1       Delete 
  113. ;    1       InputStr 
  114. ;    1       Shell 
  115. ;    1       Message 
  116. ;    12      FSeek 
  117. ;    4       FRead 
  118. ;    8       FWrite 
  119. ;    1       Flag 
  120. ;
  121. ;
  122. ; ■ Functions used :
  123. ;
  124. ;    8       *
  125. ;    71      +
  126. ;    6       -
  127. ;    1       ==
  128. ;    2       <
  129. ;    2       <=
  130. ;    2       >
  131. ;    4       >=
  132. ;    6       !
  133. ;    4       &&
  134. ;    2       ||
  135. ;    1       Upper()
  136. ;    52      Chr()
  137. ;    1       InStr()
  138. ;    3       String()
  139. ;    6       PPEPath()
  140. ;    4       PcbNode()
  141. ;    1       Exist()
  142. ;    1       TokenStr()
  143. ;
  144. ;------------------------------------------------------------------------------
  145. ;
  146. ; Analysis flags : Sf
  147. ;
  148. ; S - Shell to DOS ■ 5
  149. ;     This may be normal if the PPE need to execute an external command,
  150. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  151. ;     or usefull (sorting, maintenance,...). Check!
  152. ;     ■ Search for : SHELL
  153. ;
  154. ; f - Flag files for download ■ 3
  155. ;     This may be normal if a PPE needs to send some files, but since
  156. ;     this statement allows flagging of any file on the hard disk, you
  157. ;     have to be carefull. Check!
  158. ;     ■ Search for : FLAG
  159. ;
  160. ;------------------------------------------------------------------------------
  161. ;
  162. ; Postprocessing report
  163. ;
  164. ;    2       For/Next
  165. ;    0       While/EndWhile
  166. ;    4       If/Then or If/Then/Else
  167. ;    0       Select Case
  168. ;
  169. ;------------------------------------------------------------------------------
  170. ;                 AEGiS Corp - Break the routines, code against the machines!
  171. ;------------------------------------------------------------------------------
  172.